home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr37
/
moni13.zip
/
MONI.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-03-15
|
24KB
|
1,060 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String TSTRING011(15)
String TSTRING012(15)
String TSTRING013(1)
String STRING014
String STRING015
String STRING016
String STRING017
Word WORD001
Word WORD002
Int INT001
Int INT002
Int INT003
Int INT004
BigStr BIGSTR001
BigStr BIGSTR002
BigStr BIGSTR003
BigStr BIGSTR004
BigStr BIGSTR005
BigStr BIGSTR006
BigStr BIGSTR007
BigStr BIGSTR008
;------------------------------------------------------------------------------
GetUser
If (U_Sec < SysopSec()) Then
Log "UltraMoni: Insufficient Security To Use!", 0
End
Else
Log "UltraMoni Entered at " + Left(Time(), 5), 0
Endif
If (AnsiOn()) Goto LABEL001
PrintLn
PrintLn "Sorry, this program requires ANSI capability."
PrintLn
Log "UltraMoni: Caller Does Not Have ANSI capability.", 0
End
:LABEL001
BOOLEAN001 = 0
GetToken INTEGER011
If (INTEGER011 == 0) INTEGER011 = 60
GetToken INTEGER009
If (INTEGER009 == 0) INTEGER009 = 3
GetToken STRING014
GetToken STRING003
BOOLEAN003 = 1
If (STRING003 <> "CMS") BOOLEAN003 = 0
If (BOOLEAN003) Then
STRING008 = ""
STRING008 = ReadLine(PPEPath() + "MONI.CMS", 1)
FClose -1
If (STRING008 == "") Then
PrintLn
PrintLn "MONI.CMS File Not Found!"
PrintLn
End
Endif
If (Exist(STRING008 + ".DAT")) Goto LABEL002
PrintLn
PrintLn "CMS Database (", STRING008, ") Not Found!"
PrintLn
End
:LABEL002
STRING009 = STRING008
:LABEL003
If (Right(STRING009, 1) <> "\") Then
STRING009 = Left(STRING009, Len(STRING009) - 1)
Goto LABEL003
Goto LABEL004
Endif
STRING009 = STRING009 + "NOTES\"
:LABEL004
STRING017 = STRING008
STRING008 = STRING008 + ".DAT"
Endif
BOOLEAN002 = 0
BOOLEAN001 = 0
INT004 = MaxNode()
INT003 = 1
STRING004 = "@X1F"
STRING005 = "@X1F"
INTEGER001 = 3
INTEGER002 = 3
STRING006 = "@X1E "
TSTRING013(0) = "No "
TSTRING013(1) = "Yes"
STRING007 = ReadLine(PCBDat(), 45)
STRING015 = ReadLine(PCBDat(), 41)
StartDisp 1
KbdChkOff
INT001 = 0
:LABEL005
Inc INT001
STRING003 = ""
STRING003 = ReadLine(STRING007, INT001)
If (STRING003 == "") Then
FClose -1
Else
STRING003 = Left(STRING003, Len(STRING003) - 6)
TSTRING011(INT001) = Left(STRING003, 1)
STRING003 = Right(STRING003, Len(STRING003) - 4)
TSTRING012(INT001) = Right(STRING003, Len(STRING003) - InStr(STRING003, ","))
Goto LABEL005
Endif
:LABEL006
Color 7
Cls
PrintLn "@X1E╔═══════════════[@X1F UltraMoni PCB Node Monitoring Utility v1.3 @X1E]════════════════╗@X07"
PrintLn "@X1E║@X1B # Status User Reads: @X1E║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
PrintLn "@X1E║ ║@X07"
Print "@X1E╚══════════════════════════════[@X1F ESC To Quit @X1E]════════════════════════════════╝@X07"
Gosub LABEL009
Gosub LABEL012
INTEGER010 = Time()
:LABEL007
STRING001 = Inkey()
If (STRING001 == Chr(27)) Then
DefColor
KbdChkOn
Cls
If (!BOOLEAN001 && (Random(2) == 0)) Log "UltraMoni: Please consider registering this PPE!", 0
Log "UltraMoni Exited at " + Left(Time(), 5), 0
End
Endif
If (STRING001 == "") Then
Inc WORD002
If (!BOOLEAN001 && (WORD002 > 45000)) Then
Gosub LABEL019
WORD002 = 0
Goto LABEL006
Endif
If ((INTEGER008 + INTEGER009 < Time()) || (Time() < INTEGER008)) Then
Gosub LABEL009
Goto LABEL007
Endif
If (INTEGER011 <> 999) Then
If ((INTEGER010 + INTEGER011 < Time()) || (Time() < INTEGER010)) Then
:LABEL008
INT003 = INT003 + 20
STRING003 = ScrText(3, 22, 3, 0)
STRING003 = RTrim(STRING003, " ")
If (STRING003 == INT004) INT003 = 1
INTEGER010 = Time()
Gosub LABEL009
If ((INTEGER003 == 0) && (STRING014 <> "NOSKIP")) Goto LABEL008
Goto LABEL007
Endif
Endif
Goto LABEL007
Endif
If (STRING001 == 2) Then
Inc INT003
INTEGER010 = Time()
Gosub LABEL009
Goto LABEL007
Endif
If (STRING001 == 8) Then
Dec INT003
INTEGER010 = Time()
Gosub LABEL009
Goto LABEL007
Endif
If (STRING001 == 3) Then
INT003 = INT003 + 20
INTEGER010 = Time()
Gosub LABEL009
Goto LABEL007
Endif
If (STRING001 == 9) Then
INT003 = INT003 - 20
INTEGER010 = Time()
Gosub LABEL009
Goto LABEL007
Endif
If (STRING001 == 1) Then
INTEGER002 = INTEGER001
Inc INTEGER001
Gosub LABEL012
Goto LABEL007
Endif
If (STRING001 == 7) Then
INTEGER002 = INTEGER001
Dec INTEGER001
Gosub LABEL012
Goto LABEL007
Endif
If (STRING001 == Chr(13)) Then
STRING003 = ScrText(3, INTEGER001, 3, 0)
STRING003 = RTrim(STRING003, " ")
Gosub LABEL013
WORD002 = WORD002 + Random(50)
If (!BOOLEAN001 && (WORD002 > 40000)) Then
Gosub LABEL019
WORD002 = 0
Goto LABEL006
Endif
Goto LABEL006
Endif
If (STRING001 == 4) Then
BOOLEAN002 = 0
INTEGER010 = Time()
Gosub LABEL009
Goto LABEL007
Endif
If (STRING001 == 6) Then
BOOLEAN002 = 1
INTEGER010 = Time()
Gosub LABEL009
Goto LABEL007
Endif
If (STRING001 == " ") Then
STRING003 = ScrText(3, INTEGER001, 3, 0)
STRING003 = RTrim(STRING003, " ")
Gosub LABEL018
INTEGER010 = Time()
WORD002 = WORD002 + Random(49)
If (!BOOLEAN001 && (WORD002 > 40000)) Then
Gosub LABEL019
WORD002 = 0
Goto LABEL006
Endif
Goto LABEL006
Endif
INTEGER010 = Time()
Gosub LABEL009
Goto LABEL007
:LABEL009
If (INT003 < 1) INT003 = 1
If (INT003 + 19 > INT004) INT003 = INT004 - 19
If (INT004 < 25) INT003 = 1
INT002 = 3
INTEGER003 = 0
Color 27
If (BOOLEAN002) Then
AnsiPos 9, 2
Print " User "
AnsiPos 31, 2
Print "Status"
Else
AnsiPos 9, 2
Print "Status"
AnsiPos 31, 2
Print "User "
Endif
INTEGER008 = Time()
For INT001 = INT003 To INT003 + 19
RdUNet INT001
AnsiPos 3, INT002
Color 30
STRING002 = UN_Stat()
INTEGER003 = INTEGER003 + Asc(STRING002)
If (STRING002 == 0) STRING003 = "(Inactive Node)"
If (((STRING002 == " ") || (STRING002 == "V")) || (STRING002 == "Y")) STRING003 = "No Caller This Node"
If (STRING002 == "A") STRING003 = "Available For Chat"
If (STRING002 == "B") STRING003 = "Out To DOS"
If (STRING002 == "C") STRING003 = "Chatting With Sysop"
If (STRING002 == "D") STRING003 = "Out Of Code In Door"
If (STRING002 == "E") STRING003 = "Entering A Message"
If (STRING002 == "F") STRING003 = "Viewing A File"
If (STRING002 == "G") STRING003 = "Chatting With Group"
If (STRING002 == "H") STRING003 = "Handling Mail"
If (STRING002 == "L") STRING003 = "Logoff Pending"
If (STRING002 == "M") STRING003 = "Recvd Brdcst Msg"
If (STRING002 == "N") STRING003 = "Running Event"
If (STRING002 == "O") STRING003 = "Logging Into System"
If (STRING002 == "P") STRING003 = "Paging The Sysop"
If (STRING002 == "R") STRING003 = "Recycle BBS"
If (STRING002 == "S") STRING003 = "Answering Script"
If (STRING002 == "T") STRING003 = "Transferring A File"
If (STRING002 == "U") STRING003 = "Unavailable For Chat"
If (STRING002 == "W") STRING003 = "Drop To Dos - Wait"
If (STRING002 == "X") STRING003 = "Drop To Dos - Now"
If (INT001 > INT004) STRING003 = " ---"
If (BOOLEAN002) Then
If ((STRING002 < "A") || (STRING002 == "Z")) Then
PrintLn Left(String(INT001), 5), Left(STRING003, 23), Left(UN_Oper(), 47)
Else
Select Case (STRING002)
Case "A", "U"
PrintLn Left(String(INT001), 5), STRING002, " ", Left(UN_Name(), 20), " ", Left(UN_City(), 44)
Case "H"
PrintLn Left(String(INT001), 5), STRING002, " ", Left(STRING003, 20), " ", Left(UN_Name(), 44)
If (STRING002 == "D") Then
PrintLn Left(String(INT001), 5), STRING002, " ", Left(UN_Name(), 20), " ", Mid(UN_Oper(), InStr(UN_Oper(), "-") + 2, 44)
Else
PrintLn Left(String(INT001), 5), STRING002, " ", Left(UN_Name(), 20), " ", Left(UN_Oper(), 44)
Endif
Else
Case "H"
PrintLn Left(String(INT001), 5), Left(STRING003, 23), Left(UN_Name(), 47)
Case ((STRING002 == " ") || (STRING002 == "N")) || (STRING002 == "D"), " ", "N", "D", " ", "Z", "V", "Y"
PrintLn Left(String(INT001), 5), Left(STRING003, 23), Left(UN_Oper(), 47)
Goto LABEL010
Case Else
PrintLn Left(String(INT001), 5), Left(STRING003, 23), Left(UN_Name() + " (" + UN_City() + ")", 47)
Endif
Endif
End Select
:LABEL010
Inc INT002
Next
Inc WORD001
:LABEL011
AnsiPos 71, 2
Print "@X1E", WORD001
Return
:LABEL012
If (INTEGER001 < 3) Then
INTEGER001 = 3
Return
Endif
If (INTEGER001 > 22) Then
INTEGER001 = 22
Return
Endif
AnsiPos 2, INTEGER002
Print STRING006
AnsiPos 2, INTEGER001
Print STRING004
AnsiPos 78, INTEGER002
Print STRING006
AnsiPos 78, INTEGER001
Print STRING005
INTEGER008 = Time()
INTEGER010 = Time()
Goto LABEL011
Return
:LABEL013
RdUNet STRING003
INTEGER007 = U_RecNum(UN_Name())
If (((INTEGER007 == -1) || (UN_Stat() < "A")) || (Left(UN_Name(), 1) < "@")) Then
If (!OnLocal()) Print Chr(7)
If (OnLocal()) Then
Sound 1000
Delay 1
Sound 0
Endif
Return
Endif
GetAltUser INTEGER007
STRING010 = STRING003
If (BOOLEAN003) Goto LABEL016
:LABEL014
Color 7
Cls
WORD002 = WORD002 + Random(25) + 25
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│ @X1B█▓▒░ @X1FUser Viewer - PCB @X1B░▒▓█ @X1FUser Number: @X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X10┌──────────────────────────────────────┬──────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1B Name [ ] @X10│@X1B Reg. Exp. Date[ ] @X19│@X0F"
PrintLn "@X10│@X1B From [ ] @X10│@X1B Tot # of U/Ls [ ] @X19│@X0F"
PrintLn "@X10│@X1B B/D Phone [ ] @X10│@X1B Tot # of D/Ls [ ] @X19│@X0F"
PrintLn "@X10│@X1B H/V Phone [ ] @X10│@X1B Tot bytes U/L [ ] @X19│@X0F"
PrintLn "@X10│@X1B Expert Mode [ ] @X10│@X1B Tot bytes D/L [ ] @X19│@X0F"
PrintLn "@X10│@X1B Def. Protocol[ ] @X10│@X1B Last Date On [ ] @X19│@X0F"
PrintLn "@X10│@X1B Page Length [ ] @X10│@X1B Last Time On [ ] @X19│@X0F"
PrintLn "@X10│@X1B Security Lvl [ ] @X10│@X1B Total Logons [ ] @X19│@X0F"
PrintLn "@X10│@X1B Expired Sec [ ] @X10│@X1B Password [ ] @X19│@X0F"
PrintLn "@X10│@X1B Verify Info [ ] @X10│@X1B Alias [ ] @X19│@X0F"
PrintLn "@X10│@X1B Pwrd Changes [ ] @X10│@X1B Last DIR Scan [ ] @X19│@X0F"
PrintLn "@X10├──────────────────────────────────────┴──────────────────────────────────────@X19┤@X0F"
PrintLn "@X10│ @X1B Comment 1 [ ] @X19│@X0F"
PrintLn "@X10│ @X1B Comment 2 [ ] @X19│@X0F"
PrintLn "@X10├─────────────────────────────────────────────────────────────────────────────@X19┤@X0F"
PrintLn "@X10│ @X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
Color 31
AnsiPos 35, 2
Print "Node Number: @X1E", STRING003
AnsiPos 72, 2
Print INTEGER007
AnsiPos 18, 5
Print Left(U_Name(), 20)
AnsiPos 18, 6
Print Left(U_City, 20)
AnsiPos 18, 7
Print U_BDPhone
AnsiPos 18, 8
Print U_HVPhone
AnsiPos 18, 9
Print TSTRING013(U_Expert)
AnsiPos 18, 10
For INT001 = 1 To 15
If (U_Trans == TSTRING011(INT001)) Then
Print Left(TSTRING012(INT001), 20)
Break
Endif
Next
AnsiPos 18, 11
Print U_PageLen
AnsiPos 18, 12
If (U_Sec == 0) Then
Print " !! Locket Out !! "
Else
Print U_Sec
Endif
AnsiPos 18, 13
Print U_ExpSec
AnsiPos 18, 14
If (Psa(2)) Then
Print Left(U_Ver, 20)
Else
Print "N/A"
Endif
AnsiPos 18, 15
If (Psa(4)) Then
Print U_PwdTc()
Else
Print "N/A"
Endif
AnsiPos 59, 5
Print U_ExpDate
AnsiPos 59, 6
Print U_Ful()
AnsiPos 59, 7
Print U_Fdl()
AnsiPos 59, 8
Print U_Bul()
AnsiPos 59, 9
Print U_Bdl()
AnsiPos 59, 10
Print U_LDate()
AnsiPos 59, 11
Print U_LTime()
AnsiPos 59, 12
Print U_Logons()
AnsiPos 59, 13
Print U_Pwd
AnsiPos 59, 14
If (Psa(1)) Then
Print U_Alias
Else
Print "N/A"
Endif
AnsiPos 59, 15
Print U_LDir()
AnsiPos 24, 17
Print U_Cmnt1
AnsiPos 24, 18
Print U_Cmnt2
FReAltUser
AnsiPos 27, 20
KeyFlush
Print "@X1FHit <any> Key To Continue"
:LABEL015
STRING003 = Inkey()
If (STRING003 == "") Goto LABEL015
Return
:LABEL016
Color 23
Cls
WORD002 = WORD002 + Random(50) + 50
PrintLn " @X1F User Viewer - CMS @X17"
PrintLn " User Number│ Password│"
PrintLn " Name on BBS│ Times On│"
PrintLn " First Name│ Security│"
PrintLn " Middle Init│ Expiration│"
PrintLn " Last Name│ Exp Security│"
PrintLn " Company│ │"
PrintLn " Address 1│ Curr Membership│"
PrintLn " Address 2│ Curr Memb Start│"
PrintLn " City│ Membership Status│"
PrintLn " State│ Current Options│"
PrintLn " Postal Code│ │"
PrintLn " Voice Phone│ Renewal Pending│"
PrintLn " Fax Phone│ Renewal Start│"
PrintLn " Birth Date│ Renewal Status│"
PrintLn " │ Renewal Options│"
PrintLn " Acct Status│ │"
PrintLn " Acct Balance│ Auto Renewal│"
PrintLn " Member Since│ Auto Options│"
PrintLn " │ │"
PrintLn " Switches│ Attached Text│"
PrintLn
FOpen 1, STRING017 + "." + Left(U_Name(), 1), 0, 0
INT001 = FileInf(STRING017 + "." + Left(U_Name(), 1), 4)
INT001 = INT001 / 29
BOOLEAN004 = 0
For INTEGER004 = 1 To INT001
FSeek 1, INTEGER004 * 29 - 29, 0
FRead 1, BIGSTR006, 29
If (Right(BIGSTR006, 25) == Left(U_Name(), 25)) Then
FSeek 1, INTEGER004 * 29 - 29, 0
FRead 1, INTEGER006, 4
BOOLEAN004 = 1
Break
Endif
Next
FClose 1
If (!BOOLEAN004) Goto LABEL014
INTEGER005 = INTEGER006 * 469 - 469
INTEGER014 = FileInf(STRING008, 4) / 469
FOpen 1, STRING008, 0, 0
FSeek 1, INTEGER005, 0
FRead 1, BIGSTR006, 469
Color 30
AnsiPos 16, 2
FSeek 1, INTEGER005, 0
FRead 1, INTEGER004, 4
Print INTEGER004
BIGSTR008 = String(INTEGER004)
AnsiPos 16, 3
Print Mid(BIGSTR006, 5, 25)
AnsiPos 16, 4
Print Mid(BIGSTR006, 32, 20)
AnsiPos 16, 5
Print Mid(BIGSTR006, 72, 1)
AnsiPos 16, 6
Print Mid(BIGSTR006, 52, 20)
AnsiPos 16, 7
Print Mid(BIGSTR006, 73, 30)
AnsiPos 16, 8
Print Mid(BIGSTR006, 103, 30)
AnsiPos 16, 9
Print Mid(BIGSTR006, 133, 30)
AnsiPos 16, 10
Print Mid(BIGSTR006, 163, 20)
AnsiPos 16, 11
Print Mid(BIGSTR006, 183, 20)
AnsiPos 16, 12
Print Mid(BIGSTR006, 203, 10)
AnsiPos 16, 13
If (Mid(BIGSTR006, 213, 5) == " ") Then
Print "(000) ", Mid(BIGSTR006, 221, 3), "-", Mid(BIGSTR006, 224, 4)
Else
Print "(", Mid(BIGSTR006, 213, 3), ") ", Mid(BIGSTR006, 216, 3), "-", Mid(BIGSTR006, 219, 4)
Endif
AnsiPos 16, 14
If ((Mid(BIGSTR006, 228, 5) <> " ") && (Mid(BIGSTR006, 228, 5) <> "00000")) Then
Print "(", Mid(BIGSTR006, 228, 3), ") ", Mid(BIGSTR006, 231, 3), "-", Mid(BIGSTR006, 234, 4)
Endif
AnsiPos 16, 15
FSeek 1, INTEGER005 + 451, 0
FRead 1, INTEGER004, 2
If ((INTEGER004 == 0) || (INTEGER004 == 7305)) Then
Print "Unknown"
Else
Print ToDate(INTEGER004 + 29219)
Endif
AnsiPos 16, 17
If (Mid(BIGSTR006, 30, 1) <> "X") Then
Print "Active"
Else
Print "Deleted"
Endif
AnsiPos 16, 18
FSeek 1, INTEGER005 + 383, 0
FRead 1, INTEGER004, 4
Print ToMoney(INTEGER004)
AnsiPos 16, 19
FSeek 1, INTEGER005 + 418, 0
FRead 1, INTEGER004, 2
If ((((INTEGER004 == 0) || (INTEGER004 == 7305)) || (INTEGER004 == 16777216)) || (INTEGER004 == 805306368)) Then
Print "00-00-00"
Else
Print ToDate(INTEGER004 + 29219)
Endif
AnsiPos 16, 21
BIGSTR007 = Mid(BIGSTR006, 448, 1)
For INTEGER004 = 7 To 0 Step -1
If (IsBitSet(BIGSTR007, INTEGER004)) Then
Print "@X1EO"
Continue
Endif
Print "@X16o"
Next
BIGSTR007 = Mid(BIGSTR006, 449, 1)
For INTEGER004 = 7 To 0 Step -1
If (IsBitSet(BIGSTR007, INTEGER004)) Then
Print "@X1EO"
Continue
Endif
Print "@X16o"
Next
Color 28
AnsiPos 64, 2
Print U_Pwd
AnsiPos 64, 3
Print U_Logons()
AnsiPos 64, 4
Print U_Sec
AnsiPos 64, 5
Print U_ExpDate
AnsiPos 64, 6
Print U_ExpSec
Color 30
AnsiPos 64, 8
If (Mid(BIGSTR006, 418, 1) == " ") Then
Print "None"
Else
Print "Type ", Mid(BIGSTR006, 418, 1)
Endif
AnsiPos 64, 9
FSeek 1, INTEGER005 + 438, 0
FRead 1, INTEGER004, 2
If ((((INTEGER004 == 0) || (INTEGER004 == 7305)) || (INTEGER004 == 16777216)) || (INTEGER004 == 805306368)) Then
Print "00-00-00"
Else
Print ToDate(INTEGER004 + 29219)
Endif
AnsiPos 64, 10
If (Mid(BIGSTR006, 421, 1) == 0) Print "n/a"
If (Mid(BIGSTR006, 421, 1) == 1) Print "Active"
If (Mid(BIGSTR006, 421, 1) == 2) Print "Ready for use"
If (Mid(BIGSTR006, 421, 1) == 3) Print "Waiting op Ok"
AnsiPos 64, 11
BIGSTR007 = Mid(BIGSTR006, 422, 1)
For INTEGER004 = 7 To 0 Step -1
If (IsBitSet(BIGSTR007, INTEGER004)) Then
Print "@X1EO"
Continue
Endif
Print "@X16o"
Next
BIGSTR007 = Mid(BIGSTR006, 423, 1)
For INTEGER004 = 7 To 0 Step -1
If (IsBitSet(BIGSTR007, INTEGER004)) Then
Print "@X1EO"
Continue
Endif
Print "@X16o"
Next
Color 30
AnsiPos 64, 13
If (Mid(BIGSTR006, 430, 1) == " ") Then
Print "None"
Else
Print "Type ", Mid(BIGSTR006, 430, 1)
Endif
AnsiPos 64, 14
FSeek 1, INTEGER005 + 453, 0
FRead 1, INTEGER004, 2
If ((((INTEGER004 == 0) || (INTEGER004 == 7305)) || (INTEGER004 == 16777216)) || (INTEGER004 == 805306368)) Then
Print "00-00-00"
Else
Print ToDate(INTEGER004 + 29219)
Endif
AnsiPos 64, 15
If (Mid(BIGSTR006, 456, 1) == 0) Print "n/a"
If (Mid(BIGSTR006, 456, 1) == 1) Print "Ready for use"
If (Mid(BIGSTR006, 456, 1) == 2) Print "Waiting op OK"
AnsiPos 64, 16
BIGSTR007 = Mid(BIGSTR006, 431, 1)
For INTEGER004 = 7 To 0 Step -1
If (IsBitSet(BIGSTR007, INTEGER004)) Then
Print "@X1EO"
Continue
Endif
Print "@X16o"
Next
BIGSTR007 = Mid(BIGSTR006, 432, 1)
For INTEGER004 = 7 To 0 Step -1
If (IsBitSet(BIGSTR007, INTEGER004)) Then
Print "@X1EO"
Continue
Endif
Print "@X16o"
Next
Color 30
AnsiPos 64, 18
If (Mid(BIGSTR006, 443, 1) == " ") Then
Print "Not selected"
Else
Print "Type ", Mid(BIGSTR006, 443, 1)
Endif
AnsiPos 64, 19
BIGSTR007 = Mid(BIGSTR006, 444, 1)
For INTEGER004 = 7 To 0 Step -1
If (IsBitSet(BIGSTR007, INTEGER004)) Then
Print "@X1EO"
Continue
Endif
Print "@X16o"
Next
BIGSTR007 = Mid(BIGSTR006, 445, 1)
For INTEGER004 = 7 To 0 Step -1
If (IsBitSet(BIGSTR007, INTEGER004)) Then
Print "@X1EO"
Continue
Endif
Print "@X16o"
Next
Color 30
AnsiPos 64, 21
If (!Exist(STRING009 + BIGSTR008 + ".NOT") && !Exist(STRING009 + BIGSTR008 + ".MSG")) Print "None"
If (!Exist(STRING009 + BIGSTR008 + ".NOT") && Exist(STRING009 + BIGSTR008 + ".MSG")) Print "Message"
If (Exist(STRING009 + BIGSTR008 + ".NOT") && !Exist(STRING009 + BIGSTR008 + ".MSG")) Print "Note"
If (Exist(STRING009 + BIGSTR008 + ".NOT") && Exist(STRING009 + BIGSTR008 + ".MSG")) Print "Note & Msg"
AnsiPos 1, 22
STRING003 = "Record " + String(INTEGER006) + " of " + String(INTEGER014)
Print Space((74 - Len(STRING003)) / 2), "@X17", STRING003
AnsiPos 13, 23
Print "@X1FHit Enter For PCB View or Any Other Key To Continue"
FClose 1
KeyFlush
:LABEL017
STRING003 = Inkey()
If (STRING003 == "") Goto LABEL017
If (STRING003 == Chr(13)) Then
STRING003 = STRING010
Goto LABEL014
Endif
FReAltUser
Return
:LABEL018
If (STRING003 > MaxNode()) Then
If (OnLocal()) Then
Sound 1000
Delay 1
Sound 0
Endif
If (!OnLocal()) Print Chr(7)
Return
Endif
RdUNet STRING003
Color 7
Cls
WORD002 = WORD002 + Random(25) + 25
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────┐"
PrintLn "│@X1F Change Node Info - Node # @X19│"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘"
PrintLn Space(77)
PrintLn " @X1EName@X1F @X1E:@X1F @X0F @X1F "
PrintLn Space(77)
PrintLn " @X1ECity@X1F @X1E:@X1F @X0F @X1F "
PrintLn Space(77)
PrintLn " @X1EOperation@X1F @X1E:@X1F @X0F @X1F "
PrintLn Space(77)
PrintLn " @X1EStatus@X1F @X1E:@X1F @X0F @X1F (See Below) "
PrintLn Space(77)
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────┐"
PrintLn "│@X1F Make Desired Changes And Hit Enter @X19│"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘"
PrintLn "@X07"
PrintLn " A = Available For Chat L = Logoff Pending T = Transferring A file"
PrintLn " B = Drop To DOS M = Recvd Brdcst Msg U = Unavailble For Chat"
PrintLn " C = Chatting With Sysop N = Running An Event V = No Caller Online"
PrintLn " D = Out Of Code In Door O = Logging Into System W = Drop To Dos - Wait"
PrintLn " E = Entering A Message P = Paging The Sysop X = Drop To Dos - Now"
PrintLn " F = Viewing A File R = Recycle BBS Y = No Caller (Clear)"
Print " G = Chatting With Group S = Answering A Script Z = Inactive Node"
AnsiPos 29, 2
Print "@X1F", STRING003
AnsiPos 14, 5
Print "@X0F", UN_Name()
AnsiPos 14, 7
Print UN_City()
AnsiPos 14, 9
Print UN_Oper()
AnsiPos 14, 11
Print UN_Stat()
AnsiPos 14, 5
BIGSTR002 = 1
BIGSTR003 = 1
BIGSTR004 = 1
BIGSTR001 = ""
InputStr "_", BIGSTR002, 15, 25, Mask_Ascii(), 0
AnsiPos 14, 5
If (Left(BIGSTR002, 1) == 1) Then
BIGSTR002 = UN_Name()
Print UN_Name()
Else
Print Left(BIGSTR002, 25)
Endif
AnsiPos 14, 7
InputStr "_", BIGSTR003, 15, 24, Mask_Ascii(), 0
AnsiPos 14, 7
If (Left(BIGSTR003, 1) == 1) Then
BIGSTR003 = UN_City()
Print UN_City()
Else
Print Left(BIGSTR003, 24)
Endif
AnsiPos 14, 9
InputStr "_", BIGSTR004, 15, 48, Mask_Ascii(), 0
AnsiPos 14, 9
If (Left(BIGSTR004, 1) == 1) Then
BIGSTR004 = UN_Oper()
Print UN_Oper()
Else
Print Left(BIGSTR004, 48)
Endif
AnsiPos 14, 11
InputStr "_", BIGSTR001, 15, 1, "ABCDEFGHLMNOPRSTUVWXYZabcdefghlmnoprstuvwxyz", 8
AnsiPos 14, 11
If (BIGSTR001 == "") Then
BIGSTR001 = UN_Stat()
Print UN_Stat()
Else
Print BIGSTR001
Endif
AnsiPos 19, 14
Print "@X1F", Space(29)
AnsiPos 19, 14
InputStr "Changes (y/N) ", STRING016, 31, 1, "YNyn", 0
If ((STRING016 <> "Y") && (STRING016 <> "y")) Return
If (((BIGSTR001 == "V") || (BIGSTR001 == "Y")) || (BIGSTR001 == "Z")) Then
BIGSTR002 = ""
BIGSTR003 = ""
If (BIGSTR001 <> "V") BIGSTR004 = ""
If (BIGSTR001 == "Z") BIGSTR001 = Chr(0)
If ((BIGSTR001 == "V") || (BIGSTR001 == "Y")) BIGSTR001 = " "
Endif
WrUNet STRING003, BIGSTR001, BIGSTR002, BIGSTR003, BIGSTR004, ""
INTEGER012 = MaxNode() / 8
If (INTEGER012 * 8 < MaxNode()) Inc INTEGER012
BIGSTR005 = Space(INTEGER012)
INTEGER013 = INTEGER012 + 6
FOpen 1, STRING015, 2, 0
FSeek 1, INTEGER013, 0
FRead 1, BIGSTR005, Len(BIGSTR005)
If (BIGSTR004 <> "Z") Then
BitSet BIGSTR005, STRING003 - 1
Else
BitClear BIGSTR005, STRING003 - 1
Endif
FSeek 1, INTEGER013, 0
FWrite 1, BIGSTR005, Len(BIGSTR005)
FClose 1
Return
End
:LABEL019
Color 7
Cls
PrintLn
PrintLn
PrintLn
PrintLn "@POS:24@@X0C┌───────────────────────────────┐"
PrintLn "@POS:24@@X0C│ │"
PrintLn "@POS:24@@X0C│ @X0EAbout UltraMoni @X0C│"
PrintLn "@POS:24@@X0C│ @X0FVersion 1.3 @X0C│"
PrintLn "@POS:24@@X0C│ @X0A─────────────────── @X0C│"
PrintLn "@POS:24@@X0C│ │"
PrintLn "@POS:24@@X0C│ @X0FIf you find this program of @X0C│"
PrintLn "@POS:24@@X0C│ @X0Fvalue, please consider @X0C│"
PrintLn "@POS:24@@X0C│ @X0Fregistering it. Thank you! @X0C│"
PrintLn "@POS:24@@X0C│ │"
PrintLn "@POS:24@@X0C│ @X0BProgrammed by: Gerry Schechter@X0C│"
PrintLn "@POS:24@@X0C│ │"
PrintLn "@POS:24@@X0C└───────────────────────────────┘"
PrintLn
Print Space(26)
KeyFlush
Wait
Return
STRING001 = "Registered To: UNREGISTERED"
STRING001 = " UltraMoni v1.3 - (C) 1994 Gerry Schechter "
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 6 End
; 6 Cls
; 1 Wait
; 14 Color
; 158 Goto
; 160 Let
; 124 Print
; 121 PrintLn
; 134 If
; 3 FOpen
; 5 FClose
; 1 StartDisp
; 1 GetUser
; 1 DefColor
; 5 Log
; 5 InputStr
; 18 Gosub
; 11 Return
; 2 Delay
; 7 Inc
; 2 Dec
; 4 GetToken
; 1 KbdChkOn
; 1 KbdChkOff
; 3 RdUNet
; 1 WrUNet
; 88 AnsiPos
; 4 Sound
; 11 FSeek
; 10 FRead
; 1 FWrite
; 3 KeyFlush
; 1 GetAltUser
; 1 BitSet
; 1 BitClear
; 2 FReAltUser
;
;
; ■ Functions used :
;
; 27 -
; 4 *
; 4 /
; 70 +
; 12 -
; 96 ==
; 11 <>
; 24 <
; 11 <=
; 7 >
; 22 >=
; 92 !
; 33 &&
; 38 ||
; 7 Len(
; 44 Mid()
; 42 Left()
; 4 Right()
; 9 Space()
; 6 Chr()
; 1 Asc()
; 2 InStr()
; 3 RTrim()
; 6 Random()
; 19 Time()
; 4 U_Name()
; 1 U_LDate()
; 1 U_LTime()
; 1 U_LDir()
; 2 U_Logons()
; 1 U_Ful()
; 1 U_Fdl()
; 1 U_Bdl()
; 1 U_Bul()
; 3 Inkey()
; 11 String()
; 3 Mask_Ascii()
; 2 PCBDat()
; 1 PPEPath()
; 4 ReadLine()
; 1 SysopSec()
; 4 OnLocal()
; 5 UN_Stat()
; 11 UN_Name()
; 5 UN_City()
; 8 UN_Oper()
; 9 Exist()
; 1 AnsiOn()
; 1 U_PwdTc()
; 3 Psa()
; 2 FileInf()
; 4 MaxNode()
; 1 U_RecNum()
; 3 ScrText()
; 4 ToDate()
; 1 ToMoney()
; 8 IsBitSet()
;
;------------------------------------------------------------------------------
;
; Analysis flags : RdHs
;
; R - Read user ■ 5
; User records are read, this may signify that someone wants to get
; various informations about a user (for example his password), but
; this may also be normal for a program accessing user records (for
; example a User Editor)
; ■ Search for : GETALTUSER
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
; H - Read Password or Password History ■ 5
; Program is reading the user's password or last password history
; This may be ok for a password manager, but it is very suspect. Check!
; ■ Search for : U_PWDHIST, U_PWD
;
; s - Sysop level access ■ 5
; Program is reading the sysop access level, this may be normal
; but still it is very suspect. It is the best way to give a user
; all priviledges. Check!
; ■ Search for : SYSOPSEC()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 11 For/Next
; 0 While/EndWhile
; 64 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------